package com.qigao.mall.jdbc.mapper;

import com.qigao.mall.commons.dto.MonthReportDto;
import com.qigao.mall.commons.dto.OrderQueryDto;
import com.qigao.mall.commons.dto.SaleMonthReportDto;
import com.qigao.mall.jdbc.model.TbOrderTotal;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface TbOrderTotalMapper extends AbstractTbOrderTotalMapper {

    TbOrderTotal selectByOrderNo(String orderNo);

    List<TbOrderTotal> selectByUserNo(String currentUserNo);

    List<TbOrderTotal> selectByUserNoAndStatus(@Param("buylerId") String buylerId, @Param("orderStatus")String orderStatus);

    int updateByOrderNo(TbOrderTotal tbOrderTotal);

    int updateOrderStatus(TbOrderTotal tbOrderTotal);

    List<TbOrderTotal> selectPayOrderList(OrderQueryDto orderQueryDto);

    List<TbOrderTotal> selectByCond(OrderQueryDto orderQueryDto);

 /*   void updateOrderWhenOverTime();*/

  //  void autoRecvOrder();

    SaleMonthReportDto sumOrderMonthReport(MonthReportDto monthReportDto);

    SaleMonthReportDto sumYesterdayOrder(MonthReportDto monthReportDto);

    SaleMonthReportDto sumYesterdayPay(MonthReportDto monthReportDto);

    TbOrderTotal selectByOrderRecv(@Param("orderRecv") String orderRecv, @Param("userNo")String userNo);

    TbOrderTotal selectShopOrderByOrderRecv(@Param("orderRecv") String orderRecv, @Param("shopNo")String shopNo);

    List<TbOrderTotal> selectOrderWhenOverTime();

    List<TbOrderTotal> selectOrderWhenOverRecv();

    List<TbOrderTotal> selectByRecvUserNo(OrderQueryDto orderQueryDto);

    List<TbOrderTotal> selectSettleByCond(OrderQueryDto orderQueryDto);

    List<TbOrderTotal> selectByInviteUserNo(OrderQueryDto orderQueryDto);
}